import {useCssVar} from '@vueuse/core';
import type {NProgressOptions} from 'nprogress';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';

const primaryColor = useCssVar('--el-color-primary', document.documentElement);
// 进度条
export const useNProgress = () => {
    NProgress.configure({showSpinner: false} as NProgressOptions);

    const initColor = async () => {
        await nextTick();
        const bar = document.getElementById('nprogress')?.getElementsByClassName('bar')[0] as ElRef;
        if (bar) {
            bar.style.background = unref(primaryColor.value);
        }
    };

    initColor();

    const start = () => {
        NProgress.start();
    };

    const done = () => {
        NProgress.done();
    };

    return {
        start,
        done,
    };
};
